package com.bsoft.gol.hcb.bean.response;

import java.io.Serializable;
import java.util.List;
import lombok.Data;

/**
 * @Description
 * @Author:FangZhiyi
 * @Data Created in 2019/6/17 11:05
 * @Moddified By:
 */
@Data
public class HealthRecordsListResp implements Serializable {
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN",timezone = "GMT+8")
    private String dateOfConsultation;//就诊日期 yyyy-MM-dd HH:mm:ss
    private String patientCode;//患者在医院的唯一识别号 patientId
    private String patientUserId;//患者userId
    private String patientName;//患者姓名
    private String patientNature;//患者费别（文字）string
    private String patientSex;//患者性别（文字）string
    private String patientSexText;//患者性别（文字）string
    private String patientAge;//患者年龄（文字）string
    private String hospitalCode;//医院代码
    private String orgId;//医院id
    private String hospitalName;//医院名称
    private String departmentCode;//就诊科室代码
    private String departmentName;// 科室名称
    private String doctorCode;//医生代码
    private String doctorName;//医生姓名
    private String outpatientType;//门诊类型，对于门诊来说返回门诊类别，对于住院来说返回0
    private int type;////查询类型，默认为0，0 全部，1 门诊 2 互联网诊疗业务类型 3 住院
    private String typeName;//类型名
    private String diagnosisName;// 确诊名称
    private String outpatientNumber; //门诊号码（展示用）
    private String emergencyNumber; //门诊号（查询用，最新医共体XML文档中，门诊号和住院号已合成为同一个）
    private String inHospitalRecordNumber;//住院号
    private String inHospitalRecordCode;// 住院号码（展示用）
    private String admissionNumber; // 住院号（查询住院病历用）
    private String outpatientSeekingNumber; //门诊就诊序号（查询门诊病历用）admNumber
    private String hisOrderNumber; //云诊室就诊序号（查询云诊室详情）
    private String hisBusNumber; //（查询复诊配药详情）
    private String identityNumber;//身份证号码
    private String phoneNumber;//手机号码
    private String consultMpiId;//mpiId
    private String sickbedId;//床位号
    private String isAllergy;// 是否过敏
    private String allergyCondition;// 过敏情况
    private List<Allergy> medicalAllergyList;// 药物过敏
    private List<Allergy> otherAllergyList;// 其他过敏

    /**
     * 管辖权限标志：0 无权限 1 有权限
     */
    private Integer authFlag;

    /**
     * 阅读标志：0未读 1已读
     */
    private Integer readFlag;

    /**
     * 入组记录id列表
     */
    private List<Long> teamChronicGroupIdList;

    public Integer getAuthFlag() {
        return authFlag;
    }

    public void setAuthFlag(Integer authFlag) {
        this.authFlag = authFlag;
    }

    public Integer getReadFlag() {
        return readFlag;
    }

    public void setReadFlag(Integer readFlag) {
        this.readFlag = readFlag;
    }

    public List<Long> getTeamChronicGroupIdList() {
        return teamChronicGroupIdList;
    }

    public void setTeamChronicGroupIdList(List<Long> teamChronicGroupIdList) {
        this.teamChronicGroupIdList = teamChronicGroupIdList;
    }

    public String getIsAllergy() {
        return isAllergy;
    }

    public void setIsAllergy(String isAllergy) {
        this.isAllergy = isAllergy;
    }

    public String getAllergyCondition() {
        return allergyCondition;
    }

    public void setAllergyCondition(String allergyCondition) {
        this.allergyCondition = allergyCondition;
    }

    public List<Allergy> getMedicalAllergyList() {
        return medicalAllergyList;
    }

    public void setMedicalAllergyList(List<Allergy> medicalAllergyList) {
        this.medicalAllergyList = medicalAllergyList;
    }

    public List<Allergy> getOtherAllergyList() {
        return otherAllergyList;
    }

    public void setOtherAllergyList(List<Allergy> otherAllergyList) {
        this.otherAllergyList = otherAllergyList;
    }

    public String getSickbedId() {
        return sickbedId;
    }

    public void setSickbedId(String sickbedId) {
        this.sickbedId = sickbedId;
    }

    public String getOutpatientType() {
        return outpatientType;
    }

    public void setOutpatientType(String outpatientType) {
        this.outpatientType = outpatientType;
    }

    public String getDateOfConsultation() {
        return dateOfConsultation;
    }

    public void setDateOfConsultation(String dateOfConsultation) {
        this.dateOfConsultation = dateOfConsultation;
    }

    public String getPatientCode() {
        return patientCode;
    }

    public void setPatientCode(String patientCode) {
        this.patientCode = patientCode;
    }

    public String getPatientUserId() {
        return patientUserId;
    }

    public void setPatientUserId(String patientUserId) {
        this.patientUserId = patientUserId;
    }

    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    public String getPatientNature() {
        return patientNature;
    }

    public void setPatientNature(String patientNature) {
        this.patientNature = patientNature;
    }

    public String getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(String patientSex) {
        this.patientSex = patientSex;
    }

    public String getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(String patientAge) {
        this.patientAge = patientAge;
    }

    public String getHospitalCode() {
        return hospitalCode;
    }

    public void setHospitalCode(String hospitalCode) {
        this.hospitalCode = hospitalCode;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getHospitalName() {
        return hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    public String getDepartmentCode() {
        return departmentCode;
    }

    public void setDepartmentCode(String departmentCode) {
        this.departmentCode = departmentCode;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getDoctorCode() {
        return doctorCode;
    }

    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }




    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getDiagnosisName() {
        return diagnosisName;
    }

    public void setDiagnosisName(String diagnosisName) {
        this.diagnosisName = diagnosisName;
    }

    public String getOutpatientNumber() {
        return outpatientNumber;
    }

    public void setOutpatientNumber(String outpatientNumber) {
        this.outpatientNumber = outpatientNumber;
    }

    public String getInHospitalRecordNumber() {
        return inHospitalRecordNumber;
    }

    public void setInHospitalRecordNumber(String inHospitalRecordNumber) {
        this.inHospitalRecordNumber = inHospitalRecordNumber;
    }

    public String getInHospitalRecordCode() {
        return inHospitalRecordCode;
    }

    public void setInHospitalRecordCode(String inHospitalRecordCode) {
        this.inHospitalRecordCode = inHospitalRecordCode;
    }

    public String getAdmissionNumber() {
        return admissionNumber;
    }

    public void setAdmissionNumber(String admissionNumber) {
        this.admissionNumber = admissionNumber;
    }

    public String getOutpatientSeekingNumber() {
        return outpatientSeekingNumber;
    }

    public void setOutpatientSeekingNumber(String outpatientSeekingNumber) {
        this.outpatientSeekingNumber = outpatientSeekingNumber;
    }

    public String getHisOrderNumber() {
        return hisOrderNumber;
    }

    public void setHisOrderNumber(String hisOrderNumber) {
        this.hisOrderNumber = hisOrderNumber;
    }

    public String getHisBusNumber() {
        return hisBusNumber;
    }

    public void setHisBusNumber(String hisBusNumber) {
        this.hisBusNumber = hisBusNumber;
    }

    public String getEmergencyNumber() {
        return emergencyNumber;
    }

    public void setEmergencyNumber(String emergencyNumber) {
        this.emergencyNumber = emergencyNumber;
    }

    public String getIdentityNumber() {
        return identityNumber;
    }

    public void setIdentityNumber(String identityNumber) {
        this.identityNumber = identityNumber;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getConsultMpiId() {
        return consultMpiId;
    }

    public void setConsultMpiId(String consultMpiId) {
        this.consultMpiId = consultMpiId;
    }

    public static class Allergy{
        private String allergenicIngredientsCode;// 过敏源代码
        private String allergenicIngredients;// 过敏源名称
        private String allergicSymptoms;// 过敏症状描述
        private String allergySeverity;// 过敏严重程度
        private String allergyType;// 过敏类型

        public String getAllergyType() {
            return allergyType;
        }

        public void setAllergyType(String allergyType) {
            this.allergyType = allergyType;
        }

        public String getAllergenicIngredientsCode() {
            return allergenicIngredientsCode;
        }

        public void setAllergenicIngredientsCode(String allergenicIngredientsCode) {
            this.allergenicIngredientsCode = allergenicIngredientsCode;
        }

        public String getAllergenicIngredients() {
            return allergenicIngredients;
        }

        public void setAllergenicIngredients(String allergenicIngredients) {
            this.allergenicIngredients = allergenicIngredients;
        }

        public String getAllergicSymptoms() {
            return allergicSymptoms;
        }

        public void setAllergicSymptoms(String allergicSymptoms) {
            this.allergicSymptoms = allergicSymptoms;
        }

        public String getAllergySeverity() {
            return allergySeverity;
        }

        public void setAllergySeverity(String allergySeverity) {
            this.allergySeverity = allergySeverity;
        }
    }

    @Override
    public String toString() {
        return "{\"HealthRecordsListResp\":{"
                + "\"dateOfConsultation\":\""
                + dateOfConsultation + '\"'
                + ",\"patientCode\":\""
                + patientCode + '\"'
                + ",\"patientName\":\""
                + patientName + '\"'
                + ",\"patientNature\":\""
                + patientNature + '\"'
                + ",\"patientSex\":\""
                + patientSex + '\"'
                + ",\"patientAge\":\""
                + patientAge + '\"'
                + ",\"hospitalCode\":\""
                + hospitalCode + '\"'
                + ",\"hospitalName\":\""
                + hospitalName + '\"'
                + ",\"departmentCode\":\""
                + departmentCode + '\"'
                + ",\"departmentName\":\""
                + departmentName + '\"'
                + ",\"doctorCode\":\""
                + doctorCode + '\"'
                + ",\"doctorName\":\""
                + doctorName + '\"'
                + ",\"outpatientType\":\""
                + outpatientType + '\"'
                + ",\"type\":"
                + type
                + ",\"typeName\":\""
                + typeName + '\"'
                + ",\"diagnosisName\":\""
                + diagnosisName + '\"'
                + ",\"outpatientNumber\":\""
                + outpatientNumber + '\"'
                + ",\"emergencyNumber\":\""
                + emergencyNumber + '\"'
                + ",\"inHospitalRecordNumber\":\""
                + inHospitalRecordNumber + '\"'
                + ",\"inHospitalRecordCode\":\""
                + inHospitalRecordCode + '\"'
                + ",\"admissionNumber\":\""
                + admissionNumber + '\"'
                + ",\"outpatientSeekingNumber\":\""
                + outpatientSeekingNumber + '\"'
                + ",\"hisOrderNumber\":\""
                + hisOrderNumber + '\"'
                + ",\"hisBusNumber\":\""
                + hisBusNumber + '\"'
                + "}}";

    }
}
